package cn.cnlee.app.remote;



import java.util.Map;

import cn.cnlee.app.config.Urls;
import cn.cnlee.app.pojo.EmptyVo;
import cn.cnlee.app.pojo.IdVo;
import cn.cnlee.app.pojo.IndexDTO;
import cn.cnlee.app.pojo.LoginDTO;
import cn.cnlee.app.pojo.LoginVo;
import cn.cnlee.app.pojo.ModuleDTO;
import cn.cnlee.app.pojo.ModuleVo;
import cn.cnlee.app.pojo.NewsContentDTO;
import cn.cnlee.app.remote.response.ResponseMsg;
import io.reactivex.Flowable;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

/**
 * 接口服务
 */
public interface ApiService {

    @POST(Urls.HOME_DATA)
    Flowable<ResponseMsg<IndexDTO>> getDemoData(@Body EmptyVo emptyVo);

    @POST(Urls.MODULE_DATA)
    Flowable<ResponseMsg<ModuleDTO>> getModuleData(@Body ModuleVo moduleVo);

    @POST(Urls.LOGIN)
    Flowable<ResponseMsg<LoginDTO>> login(@Body LoginVo loginVo);

    @POST(Urls.LOGIN)
    Call<ResponseMsg<LoginDTO>> reLogin(@Body LoginVo loginVo);

    @POST(Urls.HOME_DATA)
    @FormUrlEncoded
    Flowable<ResponseMsg<IndexDTO>> getDemoData(@FieldMap Map<String, String> map);

    @POST(Urls.NEWS_CONTENT_DATA)
    Flowable<ResponseMsg<NewsContentDTO>> getNewsContent(@Body IdVo idVo);
}
